home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / v7n14.arc / FIG5.C < prev    next >
Encoding:
Text File  |  1988-08-06  |  685 b   |  23 lines

  1.     /* setbit() - turn ON bit n in bitmap    */
  2. void setbit(unsigned char *bitmap, unsigned n)
  3. {
  4.     bitmap[n/8] |= (1 << (n % 8));
  5. }
  6.  
  7.     /* resetbit() - turn OFF bit n in bitmap */
  8. void resetbit(unsigned char *bitmap, unsigned n)
  9. {
  10.     bitmap[n/8] &= (~(1 << (n % 8)));
  11. }
  12.  
  13.     /* isbitset() - returns TRUE if bit n is ON, else FALSE */
  14. int isbitset(unsigned char *bitmap, unsigned n)
  15. {
  16.     return (bitmap[n/8] & (1 << (n % 8)));
  17. }
  18.  
  19.     /***** macro versions *************/
  20. #define setbit(bitmap,n)    (bitmap[n/8] |= (1 << (n % 8)))
  21. #define resetbit(bitmap,n)    (bitmap[n/8] &= (~(1 << (n % 8))))
  22. #define isbitset(bitmap,n)    ((bitmap[n/8] & (1 << (n % 8))))
  23.